Non-volatile memories are commonly used in data processing systems. EEPROM (Electrically Erasable Programmable Read Only Memory) is one type of non-volatile memory which is commonly used.
Standard EEPROMs typically provide the capability to erase one byte, one word, or the entire memory array in a single erase procedure. Unfortunately, standard EEPROMs are generally quite expensive in terms of the semiconductor area and the processing steps which are required to manufacture them.
In order to reduce costs, some data processing systems use a type of EEPROM called a "flash" EEPROM. Erasing the entire memory array in a single erase procedure is commonly referred to as a "bulk erase". Present day flash EEPROMs normally allow for only bulk erase; they do not allow for byte or word erase. By eliminating byte and word erase, flash EEPROMs can be built more cheaply than standard EEPROMs. The drawback, however, is that the user of a flash EEPROM cannot update just a few bytes of data stored in a flash EEPROM; the user generally must perform a bulk erase and erase all of the flash EEPROM.
Thus one of the present day trade-offs made when choosing EEPROMs is the trade-off between cost and flexibility. Some users of EEPROMs want the flexibility to be able to erase only a few selected bytes in the EEPROM array. Other users of EEPROMs want the reduced cost of a flash EEPROM that is limited to bulk erase. A manufacturer of EEPROMs can satisfy both categories of users by manufacturing both standard EEPROMs and flash EEPROMs.
However, when an EEPROM is incorporated as part of a single chip microcontroller, the cost to the manufacturer of providing and supporting two different types of EEPROM on the same microcomputer becomes more onerous. For example, the MC68HC16 family of microcontrollers (e.g. MC68HC16X1, MC68HC16Y1, and MC68HC16Z1, all available from Motorola, Inc. of Austin, Tex.) will include a wide variety of individual microcontrollers which share the same central processing unit, but which have different on-chip peripherals, such as memories, timers, analog to digital converters, etc.
It would be quite expensive for a manufacturer of a microcontroller family to support two different types of EEPROM. For example, if eight microcontrollers within the family require some type of EEPROM, the manufacturer would have to design and support sixteen different microcontrollers in order to support both standard EEPROM and flash EEPROM. A less expensive solution for the manufacturer is desired. An inexpensive and flexible flash EEPROM with both bulk erase and block erase is desired "Block erase" involves partitioning one array of EEPROM into a plurality of blocks, each of which can be erased independently of the other blocks.
Although there are prior art flash EEPROMs which provide block erase, the extra semiconductor area required for the addition of the block erase feature increases the cost of the prior art flash EEPROM. For example, a prior art block erasable flash EEPROM (part number TC58F1001P/F, available from Toshiba corporation of Japan) uses an erase procedure which requires extra decode circuitry in order to decode data signals.
In order to erase one block in the Toshiba block erasable flash EEPROM, a write of a data value $60 to any flash EEPROM address must be performed; followed by a write of a data value $60 to a block address. In order to perform a bulk erase in the Toshiba block erasable flash EEPROM, a write of a data value $20 to any flash EEPROM address must be performed; followed by a write of a data value $20 to any flash EEPROM address. Thus in order to permit block erase, decode circuitry had to be added to decode the data signals being written to the flash EEPROM.
In addition, the Toshiba block erasable flash EEPROM is partitioned into thirty-two fixed blocks which are all the same size. If a customer requires a block erasable flash EEPROM which has the same array size, but is partitioned into fewer, but larger blocks, the Toshiba block erasable flash EEPROM will not meet the customer's requirements. Likewise, if a customer requires a block erasable flash EEPROM which has the same array size, but is partitioned into more, but smaller blocks, the Toshiba block erasable flash EEPROM will not meet the customer's requirements.
Some prior art flash EEPROMs may claim to provide block erase, but what they actually provide are separate arrays located on the same integrated circuit. The drawback to this approach is the extra silicon required to build multiple arrays on the same integrated circuit. Building multiple arrays requires a significant amount of circuitry to be duplicated for each array.
A block erasable flash EEPROM which requires minimum semiconductor area and which provides maximum flexibility to the customer is desired.